package com.hnust.root.common.model;


import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hnust.root.dao.entity.domain.Manager;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * Description: 后台运维管理员信息
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
public class ManagerInfo extends Manager implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 一个管理员具有多个角色
     */
    private List<SysRole> roles;// 一个用户具有多个角色

    /**
     * 密码盐
     */
    @JsonIgnore
    public String getCredentialsSalt() {
        return getUsername() + getSalt();
    }

    @Override
    public String toString() {
        return "ManagerInfo{" +
                " id=" + getId() +
                " username=" + getUsername() +
                " phone=" + getPhone() +
                " tips=" + getTips() +
                " status=" + getState() +
                " name=" + getName() +
                " roles=" + roles +
                '}';
    }
}
